#region License Revision: 0 Last Revised: 6/18/2008 11:00 AM
/******************************************************************************
Copyright (c) Microsoft Corporation.  All rights reserved.


This file is licensed under the Microsoft Public License (Ms-PL). A copy of the Ms-PL should accompany this file. 
If it does not, you can obtain a copy from: 

http://www.microsoft.com/resources/sharedsource/licensingbasics/publiclicense.mspx
******************************************************************************/
#endregion // License
using System;
using System.Windows.Browser;
using System.Diagnostics;
using ScriptInterop;

namespace VIEWS // Virtual Earth Wrapper
{

/// <summary>VEMapViewSpecification object.</summary>
public class VEMapViewSpecification : JSObject
{
	/// <summary>String holding JavaScript class name</summary>
	private static string thisClass = "VEMapViewSpecification";
	
	/// <summary>Get the JavaScript class name</summary>
	/// <returns type="String">The class name used in JavaScript </returns>		
	public override string ClassName
	{
		get { return thisClass; }
	}

	/// <summary>Construct a C# wrapper from a ScriptObject</summary>
	/// <param name="so">A ScriptObjet from JScript.</param>
	public VEMapViewSpecification(ScriptObject so) : base(so) { }

	/// <summary>Initializes a new instance of the VEMapViewSpecification object. (2D version)</summary>
	/// <param name="center" type="VELatLong">A VELatLong Class object that specifies the center point of the map. Required.</param>
	/// <param name="zoom" type="Number">An integer that represents the zoom level of the map. In Mode2D: required; In Mode3D: ignored when altitude is specified.</param>
	public VEMapViewSpecification(VELatLong center, int zoom)
	{
		ScriptObject = CreateClass((ScriptObject)center, zoom, null, null, null);
	}

	/// <summary>Initializes a new instance of the VEMapViewSpecification object.</summary>
	/// <param name="center" type="VELatLong">A VELatLong Class object that specifies the center point of the map. Required.</param>
	/// <param name="zoom" type="Number">An integer that represents the zoom level of the map. In Mode2D: required; In Mode3D: ignored when altitude is specified.</param>
	/// <param name="altitude" type="Number">If VEMapMode Enumeration is set to Mode3D, the altitude of the view, in meters above the geoid.</param>
	/// <param name="pitch" type="Number">If VEMapMode Enumeration is set to Mode3D, the pitch of the view, in degrees. A value of –90 is straight down and a value of 0 is level.</param>
	/// <param name="heading" type="Number">If VEMapMode Enumeration is set to Mode3D, the heading of the view, in compass degrees. A value of 0 or 360 is true north.</param>
	public VEMapViewSpecification(VELatLong center, int zoom, double altitude, double pitch, double heading)
	{
		ScriptObject = CreateClass((ScriptObject)center, zoom, altitude, pitch, heading);
	}
}

}
